package com.cloud.entity.mes;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import javax.persistence.Table;
import java.io.Serializable;
import java.util.Date;


/**
 * 工单表(MesPmcProduceTask)表实体类
 *
 * @author makejava
 * @since 2021-07-06 15:33:53
 */
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
@ApiModel("工单表")
@Table(name = "mes_pmc_producetask")
public class MesPmcProduceTask implements Serializable {

    private static final long serialVersionUID = 907964966143209813L;

    /**
     * 主键id
     */
    @ApiModelProperty(value = "主键id")
    private String id;

    /**
     * 计划单id
     */
    @ApiModelProperty(value = "计划单id")
    private String planid;

    /**
     * 计划单号
     */
    @ApiModelProperty(value = "计划单号")
    private String plancode;

    /**
     * 工单号
     */
    @ApiModelProperty(value = "工单号")
    private String code;

    /**
     * 外部单号(对接外部系统时用)
     */
    @ApiModelProperty(value = "外部单号(对接外部系统时用)")
    private String externalcode;
    /**
     * 工厂id
     */
    @ApiModelProperty(value = "工厂id")
    private String factoryid;

    /**
     * 工厂名称
     */
    @ApiModelProperty(value = "工厂名称")
    private String factoryname;

    /**
     * 工单类型0标准 1返工 2复新 3试制
     */
    @ApiModelProperty(value = "工单类型0标准 1返工 2复新 3试制")
    private Integer tasktype;

    /**
     * 工单来源0:MES 1:ERP
     */
    @ApiModelProperty(value = "工单来源0:MES 1:ERP")
    private Integer tasksource;

    /**
     * 生产线id
     */
    @ApiModelProperty(value = "生产线id")
    private String productionlineid;

    /**
     * 生产线名称
     */
    @ApiModelProperty(value = "生产线名称")
    private String productionlinename;

    /**
     * 生产车间id
     */
    @ApiModelProperty(value = "生产车间id")
    private String workshopid;

    /**
     * 生产车间名称
     */
    @ApiModelProperty(value = "生产车间名称")
    private String workshopname;

    /**
     * 计划开始时间
     */
    @ApiModelProperty(value = "计划开始时间")
    private Date planstartdate;

    /**
     * 实际开始时间
     */
    @ApiModelProperty(value = "实际开始时间")
    private Date startdate;

    /**
     * 计划结束时间
     */
    @ApiModelProperty(value = "计划结束时间")
    private Date planenddate;

    /**
     * 实际结束时间
     */
    @ApiModelProperty(value = "实际结束时间")
    private Date enddate;

    /**
     * 工单状态0未开始 1进行中 2已完成
     */
    @ApiModelProperty(value = "工单状态0未完成 1部分完成 2已完成")
    private Integer status;

    /**
     * 备料状态0未备料 1部分备料 2备料完成
     */
    @ApiModelProperty(value = "备料状态0未备料 1部分备料 2备料完成")
    private Integer readystatus;

    /**
     * BOM版本
     */
    @ApiModelProperty(value = "BOM版本")
    private String bomversion;

    /**
     * 工艺路线版本
     */
    @ApiModelProperty(value = "工艺路线版本")
    private String processroute;

    /**
     * jy产品id
     */
    @ApiModelProperty(value = "jy产品id")
    private String productid;

    /**
     * jy产品编码
     */
    @ApiModelProperty(value = "jy产品编码")
    private String productcode;

    /**
     * jy产品名称
     */
    @ApiModelProperty(value = "jy产品名称")
    private String productname;

    /**
     * oem产品id
     */
    @ApiModelProperty(value = "oem产品id")
    private String oemproductid;

    /**
     * oem产品编码
     */
    @ApiModelProperty(value = "oem产品编码")
    private String oemproductcode;

    /**
     * oem产品名称
     */
    @ApiModelProperty(value = "oem产品名称")
    private String oemproductname;

    /**
     * 工单数量
     */
    @ApiModelProperty(value = "工单数量")
    private Integer amount;

    /**
     * 完工数量
     */
    @ApiModelProperty(value = "完工数量")
    private Integer completeamount;

    /**
     * 合格数量
     */
    @ApiModelProperty(value = "合格数量")
    private Integer qualifiedamount;

    /**
     * 报检数量
     */
    @ApiModelProperty(value = "报检数量")
    private Integer inspamount;

    /**
     * 失效数量
     */
    @ApiModelProperty(value = "失效数量")
    private Integer invalidamount;

    /**
     * 产品线id
     */
    @ApiModelProperty(value = "产品线id")
    private String productlineid;

    /**
     * 产品线
     */
    @ApiModelProperty(value = "产品线")
    private String productlinename;

    /**
     * 品牌方0:九阳 1:SN 2:其他
     */
    @ApiModelProperty(value = "品牌方0:九阳 1:SN 2:其他")
    private Integer brand;

    /**
     * 是否运算0否 1是
     */
    @ApiModelProperty(value = "是否运算0否 1是")
    private Integer ismath;

    /**
     * 是否下发0否 1是
     */
    @ApiModelProperty(value = "是否下发0否 1是")
    private Integer issued;

    /**
     * 产品码生成0否 1是
     */
    @ApiModelProperty(value = "产品码生成0否 1是")
    private Integer isbarcode;

    /**
     * 箱码生成0否 1是
     */
    @ApiModelProperty(value = "箱码生成0否 1是")
    private Integer isboxcode;

    /**
     * 创建时间
     */
    @ApiModelProperty(value = "创建时间")
    private Date cdtime;

    /**
     * 创建人id
     */
    @ApiModelProperty(value = "创建人id")
    private String cduserid;

    /**
     * 修改人
     */
    @ApiModelProperty(value = "修改人")
    private String mduserid;

    /**
     * 修改时间
     */
    @ApiModelProperty(value = "修改时间")
    private Date mdtime;

    /**
     * 删除标识0否1是
     */
    @ApiModelProperty(value = "删除标识0否1是")
    private Integer deleted;

    /**
     * 创建人名称
     */
    @ApiModelProperty(value = "创建人名称")
    private String cdusername;

    /**
     * 修改人名称
     */
    @ApiModelProperty(value = "修改人名称")
    private String mdusername;

    /**
     * 是否生成配件码 0:否 1:是
     */
    @ApiModelProperty(value = "是否生成配件码 0:否 1:是")
    private Integer ispartscode;

    /**
     * 是否生成配件箱码 0:否 1:是
     */
    @ApiModelProperty(value = "是否生成配件箱码 0:否 1:是")
    private Integer ispartsboxcode;



    /**
     * 拒绝原因
     */
    private String refusedetail;

    /**
     * 供应商编码
     */
    private String vendorCode;

    /**
     * 供应商名称
     */
    private String vendorName;

    /**
     * 审核状态 0:新建 1:待审核 2: 同意 3: 拒绝
     */
    private Integer examinestatus;

    /**
     * 是否清除条码 0:否 1:是
     */
    private Short isclear;

    /**
     * 是否扫码下线更新完工量 0:否 1:是
     */
    private Short isupdateamount;
}

